<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      // 1.定义函数有几种方式
      三种
       1. 命名函数 (有名字的函数)
      function fn() {}  // 以函数声明的方式

       2. 匿名函数 (无名字的函数)
      let fn = function() {} // 以函数表达式的方式

       3. 实例化对象 (构造函数)
      new Funciton()

      // 2.retrun关键字的意义
      主要的作用停止函数的执行, 并且返回对应的值

      // 3.函数是否可以重定义，会有什么事情发生
      可以

      // 4.var和function关键字有什么特别功能？
      当省略var关键字时，如果变量在当前作用域下不存在，会自动向上级作用域查找变量

      // 5.请定义一个函数，该函数功能为，传入一个值，返回这个值的平方值
      function sum1(b){

            return b*b;

        }
        a=sum1(6)
        console.log(a);


      // 6.请定义一个函数，该函数功能为，传入一个值，返回这个值的累加值
      function sum1(n){
            let sum = 1;
            for(let i=1;i<=n;i++){
               sum += i;
            }
            return sum;

        }
        c=sum1(3);
        console.log(c);


      // 7.请写出一个函数，功能为：传入三个值，则返回这三个值最大的那个值
      function sum2(){
            let num1=prompt('传入第一个值：');
            let num2=prompt('传入第二个值：');
            let num3=prompt('传入第三个值：');
            if(num1>num2 && num1>num3){
                console.log('三个中中最大值：'+num1);
            }
            else if(num2>num1 && num2>num3){
                console.log('三个中中最大值：'+num2);
            }
            else{
                console.log('三个中中最大值：'+num3);
            }
        }

        sum2();
      // 8.请定义一个函数，输入一个N值，则计算出该值的阶乘，即：n! = 1*2*3*4*5*6*...*N
      function sum3(n){
            let sum = 1;
            for(let i=1;i<=n;i++){
               sum *= i;
            }
            return sum;
            }
        let b=sum3(10);
        console.log(b);

      // 9.使用add方法，让console输出的结果为true。  （面试题）
      // 	let num = 10;
      // 	console.log(num.add(20) == 10);  // true
    </script>
  </body>
</html>
